#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author:zhengxin
@file: 028_list_operate.py
@time: 2024/12/20  14:48
# @describe: 列表操作、素数、排序
"""

"""
    按相反的顺序输出列表的值。
"""

def list_operate():
    # 方式一
    a = [1, 2, 3, 4, 5]
    print(a[::-1])

    # 方式二
    b = [1, 2, 3, 4, 5]
    b.reverse()
    print(b)

    # 方式三
    c = [1, 2, 3, 4, 5]
    c.sort(reverse=True)
    print(c)


list_operate()



"""
    按逗号分隔列表: 将一个列表中的元素合并成一个字符串，并且元素之间用逗号分隔
"""
def list_operate1():
    a = ['1', '2', '3', '4', '5']
    print(','.join(a))

list_operate1()



"""
    求100之内的素数。
素数是一个大于1的自然数，除了1和它本身以外不再有其他因数。
换句话说，一个数如果只能被1和它自己整除，那么这个数就是素数。
"""

def prime_number():
    arr = [2]
    for i in range(3, 100):
        for j in arr:
            if i%j == 0:
                break
        else:
            arr.append(i)
    print(arr)


prime_number()



"""
    对10个数进行排序。
"""
def sort():
    # 解法一
    a = [1, 5, 7, 3, 2, 4, 9, 10, 6, 8]
    a.sort()
    print('排序后a的值：', a)

    # 解法2 - 排序算法，插入排序
    a = [1, 5, 7, 3, 2, 4, 9, 10, 6, 8]
    b = [a[0]]
    for num in a[1:]:
        for i in range(len(b)):
            # 如果当前元素 num 小于 b 中的某个元素 b[i]，则在 b[i] 的位置前插入 num
            if num < b[i]:
                b.insert(i, num)
                break
        else:
            # 否则，num 添加到 b 的末尾
            b.append(num)
    print(b)


sort()